package com.au.spy.base.config.dataSource;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;

import javax.sql.DataSource;

/**
 * 数据源bean
 * 
 * @ClassName:DataSourceConfig
 * @Description:TODO
 * @author linfei.chen
 * @date 创建时间：2017年11月30日 上午10:24:30
 * @version V1.0
 * @modifyDesc:1、修改数据源名称重复：去掉dataSource的setName；2、添加初始化异常日志
 * @modifyBy G
 * @modifyDate 修改时间：2017年12月13日 下午1:14:30
 * @modifyVersion V1.1
 */
@Configuration
public class DataSourceConfig {

	Logger logger = LoggerFactory.getLogger(this.getClass());

	@Value("${spring.datasource.type}")
	private Class<? extends DataSource> dataSourceType;

	@Primary
	@ConfigurationProperties(prefix = "spring.datasource")
	@Bean(name = "myDataSourace")
	public DataSource myDataSourace() throws Exception {

		return DataSourceBuilder.create().type(dataSourceType).build();
	}





}